
/**
 * 
 * 登录事件
 * 
 * 
 * "login"
 *参数： 账号 account 、密码 password
 *返回值 ：给前端的 "res" 事件 返回登陆成功后的用户信息 或者 登陆失败后的"err"
 * 
 **/


/**
 * 单人聊天信息事件
 * 
 * chat
 * 
 * 参数：当前用户 user, 信息接受对象 touser
 * 返回值 ： {
 *    fromuser: user,       // 当前用户
 *    touser: touser,     //  接受对象
 *    data: data  //两人的聊天信息
 * }
 * 
 *
*/


/**
 * 新消息提醒 事件
 * 
 * remindNew
 * 1.如果是单聊 
 * 参数 ：当前用户user 消息接收对象 touser
 * 返回值：{
 *            fromuser: user, //当前用户
 *            touser: touser      //接受信息用户
 *        }
 * 
 * 2.如果是群聊
 * 参数： roomid 
 * 返回值 {
 *               roomid: roomid, //当前用户
 *        }
 * 
 */


/**
 * 群聊房间列表
 * 
 * chatRoomList
 * 
 * 参数： user
 * 
 * 返回值： 与user相关的房间信息
 * 
 */


 /**
  * 
  * 房间信息
  * 
  * chatroommsg
  * 
  * 参数： roomid
  * 
  * 返回值： 返回 是一个对群成员的循环 数据类型为 {
  *            tousers: tousers,  群成员
  *            roomid: roomid, 房间id
  *            data: ret   聊天数据
  *       }
  * 
  * 
  */


  /***
   * 
   * 登出
   * 
   * logout
   * 
   * 参数 ： 传入的 account 查找用户信息，然后更新online 字段为false
   * 
   * 然后调用this.online()
   * 
   */



   /**
    * 
    * 前端的一些解释
    * 
    * 
    */

    /**
     * 
     * 发送消息 
     * 
     * 1.如果前端
     * 
     *   用socket.emit("event" data) 来送事件
     * 
     *  后端用 在 /app/router.js 里面配置 event 事件的路径， app/io/controller/chat.js 里面写event 事件的实现
     *      
     *   eg：   前端：
     *            socket.emit("login" {
     *              user ： username，
     *              pwd： pwd
     *  
     *            })
     *          /app/router.js 里面：
     * 
     *              app.io.of('/').route('login',app.io.controller.chat.login);
     *              
     *              这里的of("/")是房间的概念 代表默认房间
     *              
     *              可以在 /app/config.js 里面配置进入房间 经过的路由
     *                  
     *                   '/': {
     *                        connectionMiddleware: ['auth'],
     *                        packetMiddleware: ["filter"],
     *                   },
     *              
     *                   这里的"/” 即表示 默认房间  第一次连接  的中间件 由connectionMiddleware 配置  ，由前端的 connect 事件激发
     * 
     *                                            以后传送数据 的中间件 由 packetMiddleware 配置 
     * 
     *                                          （注意这个地方 有第一次连接与以后传送数据的连接 两者不同 的概念）
     * 
     *                  
     * 
     *              路由放在  /app/io/middleware/ 里面  
     *              
     *          app/io/controller/chat.js 里面
     * 
     *              login () {
     * 
     *              }
     * 
     * 2.如果是后端
     * 
     *   用socket.emit("event" data) 来送事件 
     * 
     *   前端直接用 socket.on('event' ,function (data) {
     *      
     *              }) 
     * 
     *      绑定了 "event" 事件后 接受数据
     *  
     */
